import { Question } from "../interface";

const questions: Question[] = [
    {
        question: "匹配手机号码（中国大陆）的正则表达式是：",
        radios: [
            "/^1[3-9]\\d{9}$/",
            "/^1[0-9]{10}$/",
            "/^1\\d{10}$/",
            "/^1[3-9][0-9]{9}$/"
        ],
        muti: true,
        desc: "正确匹配：1开头，第二位3-9，后面跟9位数字（共11位）"
    },
    {
        question: "下列正则表达式符号中，匹配任意单个字符的是：",
        radios: [
            ".",
            "*",
            "?",
            "+"
        ],
        desc: ". 匹配除换行符外的任意单个字符"
    },
    {
        question: "关于正则表达式修饰符，错误的是：",
        radios: [
            "g - 全局匹配",
            "i - 忽略大小写",
            "m - 多行模式",
            "s - 匹配空格"
        ],
        desc: "s修饰符是dotAll模式（使.匹配包括换行符），不是匹配空格"
    },
    {
        question: "匹配邮箱地址的正则表达式需要包含：",
        radios: [
            "@符号",
            "顶级域名（如.com）",
            "用户名部分的字母数字",
            "IP地址形式"
        ],
        muti: true,
        desc: "邮箱可以包含IP地址形式（如user@[192.168.1.1]）"
    },
    {
        question: "正则表达式 /a{2,4}/ 匹配的字符串是：",
        radios: [
            "aa",
            "aaa",
            "aaaa",
            "a"
        ],
        muti: true,
        desc: "匹配2到4个连续的a，单个a不匹配"
    },
    {
        question: "提取HTML标签中内容的正确方法是：",
        radios: [
            "/<.*?>(.*?)<\\/.*?>/",
            "/<[^>]+>([^<]+)<\\/[^>]+>/",
            "/<(\\w+)>[^<]*<\\/\\1>/",
            "/<.*>(.*)<\\/.*>/"
        ],
        muti: true,
        desc: "需考虑贪婪匹配、标签名对应和特殊字符等情况"
    },
    {
        question: "正则表达式 /^\\d+(\\.\\d{1,2})?$/ 不能匹配：",
        radios: [
            "123",
            "123.45",
            "123.456",
            "123."
        ],
        muti: true,
        desc: "要求小数部分有1-2位数字或没有小数"
    },
    {
        question: "关于正则表达式中括号的使用，正确的是：",
        radios: [
            "[abc] 匹配a或b或c",
            "[^abc] 匹配非a/b/c的字符",
            "[a-z] 匹配所有小写字母",
            "[0-9] 等价于\\d"
        ],
        muti: true,
        desc: "所有选项都是字符集的正确用法"
    },
    {
        question: "正则表达式 /(\\w)\\1+/ 的功能是：",
        radios: [
            "匹配重复的单词",
            "匹配连续的相同字符",
            "匹配重复的数字",
            "匹配重复的字母"
        ],
        desc: "\\1引用第一个分组（\\w），匹配连续相同的单词字符"
    },
    {
        question: "替换字符串中所有空格的正则表达式是：",
        radios: [
            "str.replace(/\\s/g, '')",
            "str.replace(/' '/g, '')",
            "str.replace(/\\s+/g, '')",
            "str.replace(/\s/g, '')"
        ],
        muti: true,
        desc: "需注意正则字面量中\\s的转义，/\\s+/g可合并多个空格"
    }
];

export default questions;